﻿using System.Text.RegularExpressions;

namespace DotNet.Common.Extensions
{
        public static partial class StringExtensions
        {
                /// <summary>
                /// 指示正则表达式使用 pattern 参数中指定的正则表达式是否在输入字符串中找到匹配项。
                /// </summary>
                /// <param name="s"></param>
                /// <param name="pattern">正则表达式</param>
                /// <returns></returns>
                public static bool IsMatch(this string s, string pattern)
                {
                        if (s == null) return false;
                        else return Regex.IsMatch(s, pattern);
                }

                /// <summary>
                /// 从输入字符串中获取捕获的子字符串。
                /// </summary>
                /// <param name="s"></param>
                /// <param name="pattern">正则表达式</param>
                /// <returns></returns>
                public static string Match(this string s, string pattern)
                {
                        if (s == null) return "";
                        return Regex.Match(s, pattern).Value;
                }

                /// <summary>
                /// 在指定的输入字符串内，使用 System.Text.RegularExpressions.MatchEvaluator 委托返回的字符串替换与指定正则表达式匹配的所有字符串。
                /// </summary>
                /// <param name="s"></param>
                /// <param name="pattern"></param>
                /// <param name="evaluator"></param>
                /// <returns></returns>
                public static string Replace(this string s, string pattern, MatchEvaluator evaluator)
                {
                        if (s == null) return "";
                        return Regex.Replace(s, pattern, evaluator);
                }
        }
}
